package net.zoneland.knowledge.model;

import java.io.Serializable;
import java.util.Arrays;
import java.util.StringJoiner;

/**
 * 附件临时表.
 */
public class AttachmentPreviewForm implements Serializable {

    private static final long serialVersionUID = -3047564867453031421L;

    /**
     * 附件临时id.
     */
    private String id;

    /**
     * 附件内容id
     */
    private String fileId;

    /**
     * 附件名
     */
    private String fileName;

    /**
     * 附件
     */
    private byte[] fileContent;

    /**
     * 下载地址.
     */
    private String downLoadUrl;

    /**
     * 状态，默认1 正常  ，0失效
     */
    private int status;

    /**
     * 附件类型.
     */
    private String type;

    /**
     * 附件大小.
     */
    private int size;

    /**
     * 附件来源表id.
     */
    private String fileTableId;

    /**
     * 来源是否qaBank表.
     */
    private boolean sourceQaBank;

    @Override
    public String toString() {
        return new StringJoiner(", ", AttachmentPreviewForm.class.getSimpleName() + "[", "]")
                .add("id='" + id + "'")
                .add("fileId='" + fileId + "'")
                .add("fileName='" + fileName + "'")
                .add("fileContent=" + Arrays.toString(fileContent))
                .add("downLoadUrl='" + downLoadUrl + "'")
                .add("status=" + status)
                .add("type='" + type + "'")
                .add("size=" + size)
                .add("fileTableId='" + fileTableId + "'")
                .add("sourceQaBank=" + sourceQaBank)
                .toString();
    }

    /**
     * 获取 附件临时id.
     *
     * @return id 附件临时id.
     */
    public String getId() {
        return this.id;
    }

    /**
     * 设置 附件临时id.
     *
     * @param id 附件临时id.
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 获取 附件内容id
     *
     * @return fileId 附件内容id
     */
    public String getFileId() {
        return this.fileId;
    }

    /**
     * 设置 附件内容id
     *
     * @param fileId 附件内容id
     */
    public void setFileId(String fileId) {
        this.fileId = fileId;
    }

    /**
     * 获取 附件名
     *
     * @return fileName 附件名
     */
    public String getFileName() {
        return this.fileName;
    }

    /**
     * 设置 附件名
     *
     * @param fileName 附件名
     */
    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    /**
     * 获取 附件
     *
     * @return fileContent 附件
     */
    public byte[] getFileContent() {
        return this.fileContent;
    }

    /**
     * 设置 附件
     *
     * @param fileContent 附件
     */
    public void setFileContent(byte[] fileContent) {
        this.fileContent = fileContent;
    }

    /**
     * 获取 下载地址.
     *
     * @return downLoadUrl 下载地址.
     */
    public String getDownLoadUrl() {
        return this.downLoadUrl;
    }

    /**
     * 设置 下载地址.
     *
     * @param downLoadUrl 下载地址.
     */
    public void setDownLoadUrl(String downLoadUrl) {
        this.downLoadUrl = downLoadUrl;
    }

    /**
     * 获取 状态，默认1 正常  ，0失效
     *
     * @return status 状态，默认1 正常  ，0失效
     */
    public int getStatus() {
        return this.status;
    }

    /**
     * 设置 状态，默认1 正常  ，0失效
     *
     * @param status 状态，默认1 正常  ，0失效
     */
    public void setStatus(int status) {
        this.status = status;
    }

    /**
     * 获取 附件类型.
     *
     * @return type 附件类型.
     */
    public String getType() {
        return this.type;
    }

    /**
     * 设置 附件类型.
     *
     * @param type 附件类型.
     */
    public void setType(String type) {
        this.type = type;
    }

    /**
     * 获取 附件大小.
     *
     * @return size 附件大小.
     */
    public int getSize() {
        return this.size;
    }

    /**
     * 设置 附件大小.
     *
     * @param size 附件大小.
     */
    public void setSize(int size) {
        this.size = size;
    }

    /**
     * 获取 附件来源表id.
     *
     * @return fileTableId 附件来源表id.
     */
    public String getFileTableId() {
        return this.fileTableId;
    }

    /**
     * 设置 附件来源表id.
     *
     * @param fileTableId 附件来源表id.
     */
    public void setFileTableId(String fileTableId) {
        this.fileTableId = fileTableId;
    }

    /**
     * 获取 来源是否qaBank表.
     *
     * @return sourceQaBank 来源是否qaBank表.
     */
    public boolean isSourceQaBank() {
        return this.sourceQaBank;
    }

    /**
     * 设置 来源是否qaBank表.
     *
     * @param sourceQaBank 来源是否qaBank表.
     */
    public void setSourceQaBank(boolean sourceQaBank) {
        this.sourceQaBank = sourceQaBank;
    }
}